package org.zfes.snowier.zbss.xzy.biz.solution.service;
import java.util.List;
import java.util.Map;
import java.util.Optional;

import org.apache.ibatis.annotations.Param;
import org.zfes.snowier.core.data.DataSet;
import org.zfes.snowier.core.data.SelectVo;
import org.zfes.snowier.zbss.xzy.biz.solution.model.SolutionDeviceConfigValue;
import org.zfes.snowier.zbss.xzy.solution.ConfigValueUpdateDto;
import org.zfes.snowier.zbss.xzy.solution.SolutionDeviceConfigValueDto;
public interface ISolutionDeviceConfigValueService{

	 Optional<SolutionDeviceConfigValue> loadAlgorithmConfigItemValueById(Long id);
	
	 void createAlgorithmConfigItemValue(SolutionDeviceConfigValue algorithmConfigItemValue);
	
	 void updateAlgorithmConfigItemValue(SolutionDeviceConfigValue algorithmConfigItemValue);

	 void deleteAlgorithmConfigItemValue(Long id);
	
	 DataSet loadAlgorithmConfigItemValueDataSet(Map<String, Object> params);
	 

 	void setAlgorithmConfigItemValueStatus(Long id, Byte status);
 	
    

    List<SolutionDeviceConfigValueDto> loadDeviceConfigedValue(Long deviceId,Long solutionId,Long algorithmId);

	Optional<SolutionDeviceConfigValue> loadConfigValue(Long deviceId, Long solutionId, Long algorithmId, Long itemId);

   
	void updateConfigValue(ConfigValueUpdateDto configValueUpdate);
}